#include "ti_msp_dl_config.h"
#include "string.h"
#include "stdbool.h"
#include "user_i2c.h"
#include "delay.h"
#include "gray.h"

/********************静态变量定义********************/
static uint16_t gray_data = 0x0000;//灰度数据
static uint8_t gray_data_u8[8]={0x00};//灰度数据(8位)
static const uint8_t slave_addr = 0x20, INPUT_PORT_REGISTER0 = 0x00;//灰度传感器地址、灰度数据寄存器地址

/********************全局函数定义********************/

int8_t gray_scan()
{
    int8_t scan_status=I2C_OK;

    //读取灰度
    scan_status=i2c_read(GRAY_I2C_INST,slave_addr,INPUT_PORT_REGISTER0,gray_data_u8,2);

    //更新灰度传感器状态
    if(scan_status==I2C_OK) gray_data=(uint16_t)(gray_data_u8[1]<<8 | gray_data_u8[0])&0x0fff;
    
    return scan_status;
}

uint16_t gray_get_data()
{
    return gray_data;
}